package books.ThinkingInJava.src.Chapter11;

import books.ThinkingInJava.src.Tools.Output;

import java.util.LinkedList;

public class TestArrayList {
    TestArrayList() {
        LinkedList<a> lis = new LinkedList<>();
        lis.add(new b());
//        System.out.println("lis" + lis);
    }

    public static void main(String[] args) {
//        List<String> list = new ArrayList<String>();
//        list.add(new String("Well Played"));
//        list.clear();
//
//        ListIterator<String> lit = list.listIterator();
//        Iterator<String> ite = list.iterator();
//

        //        for (String s :
//                list) {
//            System.out.println(s);
//            list.remove(s);
//        }

//        Set<String> sss = new HashSet<>();

//        sss.add("sdlfja;lfdkj;");
////        sss.clear();
//        Iterator<String> ite = sss.iterator();
////        while (ite.hasNext()){
//
//            System.out.println(ite.next());
////            ite.remove();
//        }
//        for (String ss :
//                sss) {
//            System.out.println("SET " + ss);
//        }

//        List<String> lis1 = new ArrayList<>();
//        for (int i = 0; i < 10; i++) {
//            lis1.add(i, (i + ""));
//        }
//        List<String> lis2 = new ArrayList<>(lis1);
//        Output.println("lis1.len  = " + lis1.size());
//        Output.println("lis2.len  = " + lis2.size());
//
//        lis2.clear();
//
//        Output.println("lis1");
//
        LinkedList<String> list = new LinkedList<>();
        for (int i = 0; i < 12; i++) {
            list.add(i + "");
        }
        Output.println("list:" + list);

        Output.println("element:" + list.element()); // 和getFirst效果一直
        Output.println("getFirst:" + list.getFirst());
        Output.println("peek" + list.peek());
        Output.println("remove" + list.remove());
        Output.println("removeFirst" + list.removeFirst());
        Output.println("poll" + list.poll());

        TestArrayList ta = new TestArrayList();
    }

    class a {
    }

    class b extends a {
    }
}
